// pagesMine/pages/landlord/landlord.js
import ajax from '../../../utils/index'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    /** 
    * 同意协议
    */
    agreement: false,
    /**
     * 校验是否可以点击
     */
    isSubmit: false,
    /**
     * 表单对象
     */
    formData: {
      parkId: '',// 园区ID
      parkName: '',// 园区名称
      enterpriseName: '', // 企业名称
      cardId: '', // 身份证号码
      name: '', // 姓名
      phone: '', // 房东手机号
      type: '', // 房东类型：1园区招商部、2开发商、一房东3、二房东4
      typeName: ''
    },
    /**
     * 用户信息
     */
    userInfo: null,
    /**
     * 企业详情对象 (暂时没用到)
     */
    companyInfo: null,
    showLoginPicker: false,
  },
  loginSuccess() {
    this.loginCancel()
    this.getUserInfo()
  },
  loginCancel() {
    this.setData({ showLoginPicker: false })
  },
  isModeEvent() {
    this.setData({ showLoginPicker: true })
  },
  /**
   * 校验是否可以点击
   */
  isSubmitChange() {
    const { parkId, cardId, name, phone, type } = this.data.formData
    this.setData({ isSubmit: !(!(cardId && name && phone && type)) })
  },
  /**
   * input 变化事件
   */
  formItemChange(event) {
    const { formData } = this.data
    const key = event.currentTarget.dataset.key
    const value = event.detail
    formData[key] = value
    this.setData({ formData })
    this.isSubmitChange()
  },
  /**
   * 选择框事件
   */
  pickerChange(event) {
    const { formData, userInfo } = this.data
    formData.typeName = event.detail.startValue
    formData.type = event.detail.startIndex + 1
    console.log(formData.type, userInfo,)
    if (formData.type == '5' && userInfo.roles.company != '1') {
      return wx.showModal({
        title: "提示",
        content: "请前往企业认证",
        success: (res) => {
          if (!res.confirm) return
          wx.navigateTo({ url: '/pagesEnterprise/pages/enterpriseAuthentication/enterpriseAuthentication' })
        }
      })
    }
    // 获取企业详情
    if (formData.type == '5') this.getCompanyInfo(userInfo.roles.company_id)

    this.setData({ formData })
    this.isSubmitChange()
  },
  /**
   * 协议按钮事件
   */
  agreementChange(event) {
    this.data.agreement = event.detail
  },
  async submitEvent() {
    if (!this.data.userInfo) return this.isModeEvent()
    const { cardId, name, phone } = this.data.formData
    if (!this.data.agreement) return ajax.showToast('请阅读并同意服务协议')
    if (!name) return ajax.showToast('请填写姓名')
    if (!cardId) return ajax.showToast('请填写身份证号码')
    if (!ajax.regExp.card.test(cardId)) return ajax.showToast('请填写正确的身份证号码')
    if (!phone) return ajax.showToast('请填写手机号码')
    if (!ajax.regExp.phone.test(phone)) return ajax.showToast('请填写正确的手机号码')
    ajax.showLoading()
    await ajax.post('/my/house/master/add', this.data.formData).finally(() => wx.hideLoading())
    await ajax.showToast('注册成功')
    wx.redirectTo({ url: '/pagesMine/pages/houseApprove/houseApprove' })
  },
  /**
   * 获取企业详情
   */
  async getCompanyInfo(companyId) {
    ajax.showLoading()
    const res = await ajax.get(`/my/house/master/companyInfo?companyId=${companyId}`).finally(() => wx.hideLoading())
    const { formData } = this.data
    formData.enterpriseName = res.data.companyName
    this.setData({ companyInfo: res.data, formData })
  },
  /**
   * 获取用户详情
   */
  async getUserInfo() {
    const userInfo = await ajax.getUserInfo({isLogin: true})
    this.setData({ userInfo: userInfo })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getUserInfo()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})